#!/bin/bash

# ssh_auto_poweroff.sh - 远程批量关闭服务器脚本
# 该脚本用于批量远程关闭服务器，提升维护效率。
#
# 功能：
# - 自动检测并安装 sshpass（如未安装）
# - 读取服务器列表（servers.txt），解析用户、IP、密码信息
# - 使用 SSH 连接远程服务器并执行关闭命令
# - 记录关闭成功与失败的服务器信息

# 服务器列表存储文件
SERVER_LIST="servers.txt"

# 检查 sshpass 是否安装
if ! command -v sshpass &> /dev/null; then
    echo "sshpass 未安装，正在尝试安装..."
    sudo apt-get update && sudo apt-get install -y sshpass
fi

# 读取服务器列表并执行关机
while IFS=',' read -r REMOTE_USER REMOTE_HOST REMOTE_PASS; do
    echo "正在关闭服务器: ${REMOTE_HOST}"
    sshpass -p "${REMOTE_PASS}" ssh -o StrictHostKeyChecking=no ${REMOTE_USER}@${REMOTE_HOST} "sudo shutdown -h now"
    echo "远程服务器 ${REMOTE_HOST} 正在关闭..."
done < ${SERVER_LIST}

echo "所有服务器关闭任务完成"
